home *** CD-ROM | disk | FTP | other *** search
/ Jason Aller Floppy Collection / IBM PS2 Entertainment Programs / IBM PS2 Entertainment Programs.img / KALSCOPE.DCA < prev    next >
Text File  |  1987-08-04  |  31KB  |  1,128 lines

  1.              KALEIDOSCOPE
  2.  
  3.                 Topics
  4.  
  5.    Introduction ...................1
  6.    Before You Begin ...............1
  7.    Getting Started ................2
  8.    Basic Terms and Concepts .......3
  9.      Two Points ...................3
  10.      Commands .....................4
  11.      Error Events .................4
  12.      The Profile ..................5
  13.    Help Screen - Single Key 
  14.     Commands ......................5
  15.      a - Toggle Autorun Mode ......5
  16.      b - Change Background Color ..5
  17.      c - Clear the Screen .........6
  18.      e - Exit Program .............6
  19.      l - Last Pattern Back ........6
  20.      f - Freeze/Unfreeze Display ..6
  21.      h - The Help Screen ..........7
  22.      k - Toggle "Keep All" Mode ...7
  23.      m - Toggle Single-Color 
  24.           Mode ....................7
  25.      p - Toggle Palette ...........7
  26.      r - Restore Parameters .......8
  27.      s - Save Parameters ..........8
  28.      w - Write Image ..............8
  29.      q - Query Autorun Mode .......8
  30.      t - Tailor Other Parameters ..8
  31.      Space - New Pattern ..........8
  32.    Tailoring Ring - Advanced 
  33.     Features ......................9
  34.      Key Usage ....................9
  35.    The Global Parameter Screen ....10
  36.      Generations on Screen ........10
  37.      Drawing Mode .................11
  38.      Transfer Type ................11
  39.      Color Strategy ...............12
  40.      Base Color ...................12
  41.      Symmettrriiees ...............12
  42.      EightFold Path Bug ...........12
  43.      Start-up Bug .................12
  44.      Erasing Bug ..................12
  45.      Boredom Threshold ............13
  46.      Boredom Rho ..................13
  47.      Symmetry Coupling ............13
  48.      Background Fluidity ..........13
  49.      Palette Fluidity .............13
  50.      Pattern Age ..................14
  51.      Number of Palettes ...........14
  52.  
  53.  
  54.  
  55.    The Individual Parameter 
  56.     Screens .......................14
  57.      0 - Worm .....................14
  58.      1 - Random Walker ............15
  59.      2 - Parametric Glider ........15
  60.      3 - Random Dots ..............16
  61.      4 - Hypocycloid ..............16
  62.    File Parm Screen (Error Events, 
  63.     too) ..........................16
  64.    The PRO File - Start-up 
  65.     Settings ......................18
  66.    KALSHOW - Displaying PIC 
  67.     Files .........................20
  68.  
  69.             End of Topics
  70.  
  71.                   1
  72.  
  73. Introduction~
  74. ------------
  75.  
  76. This document consists of some vague
  77. hints on how to use Kaleidoscope, the
  78. Ultimate Silly Graphics generator.
  79. Note that it is not a users' guide.
  80. The very concept of a users' guide is
  81. alien to the philosophy and spirit in
  82. which the program was written.
  83. Kaleidoscope is designed to be an
  84. unpredictable program.
  85.  
  86. Having written three or four programs
  87. in recent years, I have noticed an
  88. unfortunate tendency among them:
  89. either they work right, or they crash.
  90. That is, either they do just what I
  91. wrote them to do (and this is, after
  92. all, pretty boring), or they do
  93. something wrong that either causes
  94. some part of the universe to print
  95. silly messages and give up, or
  96. alternately causes something to happen
  97. that I would rather had not happened.
  98.  
  99. Kaleidoscope represents an attempt to
  100. construct a program without this
  101. unfortunate tendency (and to have
  102. something around to mesmerize
  103. otherwise talkative visitors).  The
  104. patterns it displays when left to
  105. itself are unpredictable, even
  106. (especially) to its author.  On the
  107. other hand, the program is not
  108. unpredictable in the typical way of
  109. programs; even in the file I/O
  110. sections (and we all know about file
  111. I/O) it is very unlikely to produce
  112. any nasty messages, or do anything
  113. annoying.  In the event it encounters
  114. a situation it does not understand, it
  115. just selects a moderately
  116. reasonable alternative, and continues
  117. blithely on.
  118.  
  119. Before You Begin~
  120. ----------------
  121.  
  122. 1.  Back Up Your Kaleidoscope
  123.     Diskette.
  124.  
  125. 2.  Load DOS.
  126.  
  127.  
  128.                   2
  129.  
  130. Getting Started~
  131. ---------------
  132.  
  133. If your use of Kaleidoscope is
  134. restricted to having something useful
  135. on your PC's color display while
  136. you're at lunch, to impressing members
  137. of the opposite sex, and generally to
  138. passive admiration, this is the only
  139. section you need to read.
  140.  
  141. To start it, put a diskette (or
  142. equivalent) containing KALSCOPE.EXE
  143. into a diskette drive (or equivalent)
  144. connected to your PC, and type
  145. KALSCOPE (or A:KALSCOPE or B:KALSCOPE
  146. or whatever).  This puts you into the
  147. "logo" screen.  Striking any key then
  148. puts you into the program proper.  At
  149. this point, you should strike the "a"
  150. key to turn on "autorun" mode (note
  151. the pleasant "boop" tone).  Now you
  152. are set.  Kaleidoscope displays an
  153. ever-changing series of pleasing
  154. (well, often pleasing) patterns.
  155. Striking the space bar at any time
  156. starts a new pattern, if the program
  157. seems to be more interested in the
  158. current pattern than you are.  If
  159. you'd like some other colors, you can
  160. get a little bit advanced by playing
  161. with the "b" and "p" keys.  When you
  162. wish to exit the program (to, for
  163. instance, bring up a newer version of
  164. it), strike the "e" key.
  165.  
  166. The author anticipates that the
  167. average intelligent, sophisticated
  168. user will not be satisfied with this
  169. situation for long.  Several urges
  170. will most likely arise:
  171.  
  172. The urge to save the pretty pictures
  173. for later admiration.
  174.  
  175. The urge to save the kind of pretty
  176. picture currently being drawn.
  177.  
  178. The urge to modify the current pattern
  179. ever so slightly, to make it even more
  180. breathtakingly beautiful.
  181.  
  182. For the satisfaction of these urges,
  183. see the next sections.
  184.  
  185.  
  186.                   3
  187.  
  188. Basic Terms and Concepts~
  189. ------------------------
  190.  
  191.  
  192. Two Points~
  193.  
  194. Kaleidoscope produces its images by
  195. what is, at bottom, a rather simple
  196. process.  The program moves two points
  197. about on the screen, and every time it
  198. moves them, it draws zero or more
  199. dot(s) and line(s) based on their new
  200. position.  In some cases, it also
  201. draws the reflections of these dot(s)
  202. and line(s) around various
  203. cleverly-placed axes.
  204.  
  205. Now to get the amount of variation you
  206. have seen in Kaleidoscope.
  207.  
  208. If you have not yet seen Kaleidoscope
  209. run, I suggest you go back to the
  210. Getting Started section and run it
  211. contemplatively for a bit.  From such
  212. a simple concept, there must obviously
  213. be a lot of variables (for variety, we
  214. call them "parameters") floating
  215. around.  There are.  Kaleidoscope has,
  216. for instance:
  217.  
  218. o Five different overall ways of
  219.   figuring out the next spot one of
  220.   the points is going to occupy.  Five
  221.   for each of the two points makes
  222.   twenty-five mixes of overall
  223.   point-motion strategies (which see).
  224.   Each strategy has zero or more (up
  225.   to about 15) sub-parameters.
  226.  
  227. o Seven different things that can be
  228.   done, given the current position of
  229.   the two points on the screen, and
  230.   the position they held last time
  231.   'round.  The things include
  232.   connecting the points, drawing a
  233.   circle tangent to both of them,
  234.   simply drawing a dot at one point
  235.   and ignoring the other, etc.  See
  236.   "Drawing Modes" below somewhere.
  237.  
  238. o Four possible levels of symmetry.
  239.  
  240. o Various bugs which can (well, one of
  241.   them) be turned on and off.
  242.  
  243. o Some other things I won't mention
  244.   (except indirectly, in this very
  245.   sentence).
  246.  
  247.  
  248.                   4
  249.  
  250. Commands~
  251.  
  252. As a Kaleidoscope user, you
  253. communicate with the program through
  254. the keyboard.  The most common
  255. commands are issued by striking a
  256. single key.  Note that Kaleidoscope is
  257. case insensitive; you can type in any
  258. single-key command in either upper or
  259. lower case.
  260.  
  261. One of the single-key commands ("t")
  262. is used to enter the advanced
  263. tailoring environment.  This provides
  264. access to less-frequently-used
  265. parameters, allowing a subtlety of
  266. control not available with the
  267. single-key commands.  The next two
  268. major sections cover the single-key
  269. and advanced facilities.
  270.  
  271. Error Events~
  272.  
  273. If you hear a friendly little
  274. three-tone signal while Kaleidoscope
  275. is running, it means that an error of
  276. some sort has occurred.  There's no
  277. need to worry about this, as
  278. Kaleidoscope in general continues
  279. nonchalantly on.  Should the sound
  280. persist (and even threaten to become
  281. unpleasant), striking the space bar to
  282. begin a new pattern should stop it
  283. (and the plucky little error causing
  284. it).
  285.  
  286. If you become unbearably curious about
  287. the nature of the error, see below,
  288. under (what else) "The File Parameter
  289. Screen."
  290.  
  291. A slightly less friendly single-tone
  292. signal is produced if you enter
  293. an obviously useless number while on
  294. one of the tailoring screens (which
  295. see).  Kaleidoscope usually does
  296. anything that you ask it to, but there
  297. are a few things up with which it
  298. simply will not put.
  299.  
  300.  
  301.                   5
  302.  
  303. The Profile~
  304.  
  305. After using Kaleidoscope for a bit,
  306. you may discover that there are
  307. certain things you do every time you
  308. bring it up, to tailor the more global
  309. parameters (like number of palettes,
  310. fluidities, etc) to your own tastes.
  311. To avoid having to do this initial
  312. setup every time, Kaleidoscope
  313. provides you with the ability to
  314. specify some initial parameters in a
  315. file.  This PRO file is described in
  316. detail far below.
  317.  
  318. Help Screen - Single Key Commands~
  319. ---------------------------------
  320.  
  321. The Help Screen is a single panel that
  322. tells the user what all the single-key
  323. commands do.  To get the help screen,
  324. strike the "h" key.  Rough
  325. descriptions of the commands follow.
  326.  
  327. a - Toggle Autorun Mode~
  328.  
  329. Striking the "a" key turns autorun
  330. mode on if it was off, and off if it
  331. was on.  When you strike "a", you
  332. hear a tone that reflects the new
  333. setting of Autorun.  The higher tone
  334. indicates that Autorun is now off; the
  335. lower tone, that it is on.
  336.  
  337. In Autorun mode, Kaleidoscope
  338. occasionally becomes tired of the
  339. current pattern, and abandons it to
  340. start a new one.  How long it takes to
  341. get tired is determined by the two
  342. Boredom Parameters on the Global
  343. Parameter screen (see below).
  344.  
  345. b - Change Background Color~
  346.  
  347. Striking the "b" key changes the
  348. background color to the next one.
  349. Striking the key eight times gives the
  350. same background color (after a bit of
  351. decorative flashing), but in a higher
  352. (or lower) intensity.
  353.  
  354.  
  355.                   6
  356.  
  357. c - Clear the Screen~
  358.  
  359. Striking the "c" key clears the
  360. screen.  It has no other effect on the
  361. currently active pattern, but I think
  362. it does reset the count of how long
  363. the pattern has been active (kept for
  364. boredom determination purposes).
  365.  
  366. e - Exit Program~
  367.  
  368. This key terminates the program,
  369. and returns the PC to whatever monitor
  370. Kaleidoscope was invoked from.  It
  371. should not be used except in case of
  372. emergency, or a new version of
  373. Kaleidoscope is available for
  374. installation on the PC, or in the
  375. unlikely event that you find some
  376. other program that you would like to
  377. run.
  378.  
  379. l - Last Pattern Back~
  380.  
  381. It is a frequent occurrence while in
  382. AutoRun mode to glance up at your
  383. display from the Sunday Times, be
  384. amazed and thrilled at the beauty of
  385. the pattern Kaleidoscope is currently
  386. working on, and see it vanish before
  387. you can reach the "a" key.  To cut
  388. down on the number of broken hearts,
  389. the "l" command gets back
  390. (approximately) the parameters most
  391. recently abandoned.  Sometimes the
  392. colors are different or something,
  393. but that's part of the fun.
  394.  
  395. f - Freeze/Unfreeze Display~
  396.  
  397. Striking the "f" key when the display
  398. is not frozen freezes it.  Striking it
  399. when the display is frozen unfreezes
  400. it.  When the display is frozen, most
  401. of the keys have the usual effects,
  402. but drawing of the current pattern is
  403. suspended.  This is useful, for
  404. instance, for getting a picture just
  405. right before saving it.
  406.  
  407.  
  408.                   7
  409.  
  410. h - The Help Screen~
  411.  
  412. Displays the Help Screen.  Hit any key
  413. to return to the current pattern with
  414. a clear screen.
  415.  
  416. k - Toggle "Keep All" Mode~
  417.  
  418. One of the clever things that
  419. Kaleidoscope does is to sometimes keep
  420. some number of generations on the
  421. screen, by erasing an old bunch of
  422. lines every time it draws some new
  423. ones.  If it is doing this, and you'd
  424. like it to stop (or you have stopped
  425. it this way already, and you'd like it
  426. to start again), hit the "k" key.  If
  427. you'd like to change the number of
  428. generations kept, you can do it on the
  429. Global Parameter screen (see below).
  430. When a new pattern starts up, "Keep
  431. All" mode is turned off.
  432.  
  433. m - Toggle Single-Color Mode~
  434.  
  435. When I first wrote Kaleidoscope, it
  436. was always solid yellow on a blue
  437. background.  Sometimes I get
  438. nostalgic; this key is for me.
  439.  
  440. p - Toggle Palette~
  441.  
  442. Changes to/from blue-white-purple
  443. from/to red-green-yellow (with
  444. red-white-cyan thrown in on RGB
  445. screens if the "Number of Palettes"
  446. parameter is set to 3; see below).
  447.  
  448.  
  449.                   8
  450.  
  451. r - Restore Parameters~
  452.  
  453. Reads the parameters from the
  454. currently selected drive and file
  455. (these are determined on the File
  456. Parameter Screen, probably described
  457. below), and start drawing a pattern
  458. from them.  Looks for a file called
  459. Pnnnn.PRM on the selected drive.  If
  460. it doesn't find it, the usual error
  461. tones sound, and it continues
  462. with whatever it was doing.  This
  463. command also increments the "File to
  464. Restore From" number, to get you ready
  465. for the next restore.
  466.  
  467. s - Save Parameters~
  468.  
  469. Does the opposite of "r".  Except,
  470. of course, that rather than
  471. incrementing the "File to Restore
  472. From" number, it increments the "File
  473. to save PRM to" number, so next time
  474. you hit "s" you don't overlay the PRM
  475. file.
  476.  
  477. w - Write Image~
  478.  
  479. Writes the current state of the
  480. screen in BSAVE format, into Pnnn.PIC,
  481. where nnn is the "File to Save PIC to"
  482. number from the fabled File Parameter
  483. screen.  Increments that number.
  484.  
  485. q - Query Autorun Mode~
  486.  
  487. Does everything that "a" does, except
  488. for affecting the Autorun setting.
  489.  
  490. t - Tailor Other Parameters~
  491.  
  492. This puts you into the ring of
  493. Tailoring Screens, that are described
  494. in more detail below.  It puts you
  495. onto the last screen you saw, with the
  496. cursor where it was last, on the
  497. theory that you might still be
  498. interested.
  499.  
  500. Space - New Pattern~
  501.  
  502. If the current pattern isn't to your
  503. liking, pressing the space bar calls
  504. up a new one.  The previous one may be
  505. regressed to with the "l" command,
  506. which see.
  507.  
  508.  
  509.                   9
  510.  
  511. Tailoring Ring - Advanced Features~
  512. ----------------------------------
  513.  
  514. Striking the "t" key while in
  515. Kaleidoscope proper brings you into
  516. the ring of Tailoring Screens.  While
  517. in the ring, you can change almost
  518. everything I could think of in the way
  519. of currently-effective parameters.
  520. You can, for instance, increase the
  521. symmetry of the current pattern,
  522. change a worm into a hypocycloid,
  523. alter the step-length of a random
  524. walker, change which diskette (or
  525. equivalent) is used to save parameter
  526. files to, and even turn on the
  527. normally-off EightFold Symmetry Bug.
  528.  
  529.  
  530. Key Usage~
  531.  
  532. While in the tailoring ring, the
  533. following keys have approximately the
  534. following effects.  No other keys
  535. should do anything to speak of.
  536.  
  537. Tab
  538. Takes you to the next screen in the
  539. ring.
  540.  
  541. Escape
  542. Takes you out of the ring, back to
  543. Kaleidoscope proper.
  544.  
  545. Arrows
  546. Moves the cursor (a red
  547. right-pointy-brace) around on the
  548. screen.  The up and down arrows move
  549. the cursor up and down, wrapping at
  550. the top and bottom of the screen.  The
  551. sideways arrows toggle the cursor
  552. between the two possible columns.
  553.  
  554. Enter
  555. Selects the item the cursor is
  556. currently pointing to as something
  557. that you want to change.  Striking
  558. Enter results in a red "Enter New
  559. Value" prompt down in one corner of
  560. the screen.  Enter the desired new
  561. value for the item, and hit Enter
  562. again.  If you have successfully
  563. changed something of interest, the
  564. screen is re-displayed with the
  565. new value.  Hitting Enter with the
  566. cursor not pointing to anything in
  567. particular causes (what else?)
  568. unpredictable results.
  569.  
  570.  
  571.                   10
  572.  
  573. The Global Parameter Screen~
  574. ---------------------------
  575.  
  576. The first screen you see when entering
  577. the tailoring ring for the first time
  578. is the Global Parameter Screen.  This
  579. screen allows you to examine and alter
  580. various parameters that effect the
  581. pattern being drawn, and the overall
  582. behavior of the system.
  583.  
  584. The following fields appear on the
  585. screen.  "Generations on screen"
  586. through "Erasing bug" are in the
  587. left-hand column (in the order that
  588. they appear below, and "Boredom
  589. Threshold" through "Number of
  590. Palettes" are in the right-hand
  591. column.
  592.  
  593.  
  594. Generations on Screen~
  595.  
  596. Effects how many generations are
  597. displayed on the screen (temporarily
  598. overridable by the "k" command).  If
  599. this is set to 0, all generations are
  600. kept.
  601.  
  602.  
  603.                   11
  604.  
  605. Drawing Mode~
  606.  
  607. This selects the drawing mode:  what
  608. dot(s) or line(s) are drawn, given the
  609. current locations of the two points.
  610. Valid values here are 0 through 7,
  611. corresponding to:
  612.  
  613. 0 - Draw a dot at the first point
  614.     location.
  615.  
  616. 1 - Draw a dot at both point
  617.     locations.
  618.  
  619. 2 - Draw a line between the locations.
  620.  
  621. 3 - Connect each current point
  622.     location with the just-previous
  623.     location of the same point.
  624.  
  625. 4 - Draw the lines described in 2 and
  626.     3.
  627.  
  628. 5 - Draw a box with the two points as
  629.     diagonally opposite corners.
  630.  
  631. 6 - Draw a circle (approximately)
  632.     tangent to the two points.
  633.  
  634. 7 - Draw an (approximately) isosceles
  635.     triangle with the two points as
  636.     the base vertices, and the top
  637.     vertex determined by some equation
  638.     that I have forgotten.
  639.  
  640.  
  641. Transfer Type~
  642.  
  643. If the transfer type is 1, new
  644. positions of point 1 are taken from
  645. the current (old) position of point 2,
  646. rather than from point 1's own
  647. motion-strategy.  This is useful for
  648. tracing a single figure.  If the
  649. transfer type is 2 or 3, point 1 is
  650. moved according to its own
  651. motion-strategy.
  652.  
  653.  
  654.                   12
  655.  
  656. Color Strategy~
  657.  
  658. This has to do with how many colors
  659. are used in the display.  I think 1
  660. means always use a single color
  661. (although symmetrical reflections are
  662. in other colors), 2 means use a
  663. different color for each point, and 3
  664. and 4 are various level of randomness.
  665.  
  666.  
  667. Base Color~
  668.  
  669. This has something to do with altering
  670. the color that the Color Strategy
  671. takes as a jumping-off place.
  672. Changing the value does not generally
  673. seem to effect anything, though.
  674.  
  675.  
  676. Symmettrriiees~
  677.  
  678. This determines how many dot(s) or
  679. line(s) are actually drawn for each
  680. one called for by the Drawing Mode.
  681. Valid values are 1, 2, 4 and 8.
  682.  
  683.  
  684. EightFold Path Bug~
  685.  
  686. When eightfold symmetry is in effect,
  687. the fact that the screen is not as
  688. tall as it is wide sometimes causes
  689. the points being drawn to smash into
  690. the upper and lower walls of the
  691. screen.  As this is a bad thing, there
  692. is a hook in the program that
  693. restricts the scope of drawing to the
  694. safe central portion of the screen
  695. when the symmetry level is 8.
  696. Changing the value of this parameter
  697. to 1 enables the bug by de-enabling
  698. the hook.
  699.  
  700.  
  701. Start-up Bug~
  702.  
  703. There is often garbage drawn at the
  704. beginning of a pattern (particularly
  705. when the transfer type is 1).  If you
  706. turn this bug on, by changing the
  707. value of this parameter to 1, there
  708. is even more.
  709.  
  710.  
  711.                   13
  712.  
  713. Erasing Bug~
  714.  
  715. Some of the more pleasing, shimmering
  716. patterns that Kaleidoscope produces
  717. are due to a bug in the erasure of old
  718. dots and lines when the drawing mode
  719. is 3 or 4 and the "Generations on
  720. Screen" is not "All".  When I find
  721. that bug, this parameter will turn it
  722. on and off.
  723.  
  724.  
  725. Boredom Threshold~
  726.  
  727. This is (approximately) the minimum
  728. number of seconds the program spends
  729. on a pattern in Autorun mode before
  730. getting bored and switching.
  731.  
  732.  
  733. Boredom Rho~
  734.  
  735. This is the probability (per
  736. generation) that Kaleidoscope will get
  737. bored and switch after the boredom
  738. threshold has been crossed
  739.  
  740.  
  741. Symmetry Coupling~
  742.  
  743. If this parameter is 1, Kaleidoscope
  744. draws lines between each point and its
  745. symmetric reflections, if any (0, 1, 3
  746. or 7 of them).
  747.  
  748.  
  749. Background Fluidity~
  750.  
  751. This is the probability that, each
  752. generation, Kaleidoscope gets tired of
  753. the current background color, and
  754. change it (or leaves it the same).
  755.  
  756.  
  757. Palette Fluidity~
  758.  
  759. You guessed it!  The number of
  760. palettes randomly chosen among is
  761. determined by the "Number of Palettes"
  762. parameter, described shortly.
  763.  
  764.  
  765.                   14
  766.  
  767. Pattern Age~
  768.  
  769. This is the number of seconds of the
  770. current pattern that have passed, for
  771. purposes of boredom determination.
  772. Altering any parameter resets this to
  773. zero.  So do some other things.  You
  774. can't change this parameter yourself.
  775.  
  776.  
  777. Number of Palettes~
  778.  
  779. This one requires more explanation
  780. than I am likely to give.  If you have
  781. a conventional RGB screen, change this
  782. to 3 and you have a red-white-and-blue
  783. palette in addition to the other two.
  784. If you have a composite or TV screen,
  785. you probably want to leave it at 2
  786. (the default).
  787.  
  788.  
  789. The Individual Parameter Screens~
  790. --------------------------------
  791.  
  792. Each of the two Individual Parameter
  793. screens displays the parameters for
  794. one of the points.  The parameters
  795. displayed depend on the
  796. motion-strategy for that point.  To
  797. change the motion-strategy for a
  798. point, go to the appropriate
  799. individual parameter screen, move the
  800. cursor to the line with the name of
  801. the strategy (row 4), and hit enter.
  802. Then enter the number of the strategy
  803. you would like, from the list that
  804. follows.
  805.  
  806. 0 - Worm~
  807.  
  808. A worm is a little creature that moves
  809. at random about the screen, one pel at
  810. a time (that's logical pels, for you
  811. display hackers).  His three
  812. parameters are:
  813.  
  814. Laterality
  815.  
  816. Determines whether the worm moves like
  817. a bishop (0), like a rook (1), or like
  818. a king (2).
  819.  
  820.  
  821.                   15
  822.  
  823. Turn Strategy
  824.  
  825. When the worm has decided to turn (go
  826. in a new direction), it either changes
  827. to an adjacent vector (0), or picks a
  828. new direction at random (1).
  829.  
  830. Rho
  831.  
  832. This is the chance that the worm
  833. continues in the same direction next
  834. generation.
  835.  
  836. 1 - Random Walker~
  837.  
  838. A random walker is just like a worm,
  839. except that it moves several pels per
  840. generation.  The number of pels is the
  841. worm's length.
  842.  
  843. 2 - Parametric Glider~
  844.  
  845. This creature moves along a path
  846. determined by a pair of parametric
  847. equations, one for each coordinate (X
  848. and Y).  Each generation, the value of
  849. "t" is incremented by "dT", and a new
  850. X and Y determined.  There are two
  851. rows of parameters on the glider
  852. screen; the left-hand row shows the
  853. parameters for the X coordinate, the
  854. right-hand row for Y.  The general
  855. equation for a new coordinate, given
  856. "t" and the parameters, is supposed to
  857. be
  858.  
  859. K + B ( M1 sin ( A1 + M2 t ) + M3 cos
  860. ( A2 + M3 t ) )
  861.  
  862. normalized to fit on the screen.  I
  863. suspect the actual equation is indeed
  864. something like that.
  865.  
  866.  
  867.                   16
  868.  
  869. 3 - Random Dots~
  870.  
  871. Requiring no parameters, random dots
  872. just jump merrily about on the screen,
  873. with the new location of the point
  874. having nothing at all to do with the
  875. old one.
  876.  
  877. 4 - Hypocycloid~
  878.  
  879. You probably saw these first as a
  880. child.  Remember the little plastic
  881. toothed wheels, the colored pens and
  882. pins, and trying not to tear the
  883. paper?  The wheel ratio is the ratio
  884. of the number of teeth on the little
  885. wheel to the number of teeth on the
  886. big wheel, and the offset from center
  887. is the distance (in units of the big
  888. wheel's radius) from the center of the
  889. little wheel to the drawing hole.
  890. "dT" is used in about the same way as
  891. in the parametric glider.  The
  892. equations for this took me a couple of
  893. days to figure out, so I'm leaving
  894. them as an exercise for the reader.
  895.  
  896.  
  897. File Parm Screen (Error Events, too)~
  898. ------------------------------------
  899.  
  900. The numbers on this screen control the
  901. diskettes (or equivalent) used to save
  902. and restore images and parameter sets,
  903. and the names of the files that are
  904. used.  Parameter sets are stored in
  905. files called "Pnnnnnnn.PRM", and
  906. images are stored (in BSave format) in
  907. files called "Pnnnnnnn.PIC".  The
  908. nnnnnn is taken from this very screen,
  909. as is the diskette letter to use.
  910.  
  911.  
  912.                   17
  913.  
  914. Every time you issue a save ("s" or
  915. "w") command or a restore ("r")
  916. command, the corresponding file number
  917. on this screen is incremented.  So if
  918. you set, for instance, the "File to
  919. write PIC to" number to 20, then issue
  920. the "w" command five times in the
  921. course of an hour, you have created
  922. the files "P20.PIC" through "P24.PIC"
  923. on the selected disk.  If you want to
  924. display a series of patterns saved in
  925. files "P32.PRM" through "P41.PRM" on
  926. drive B, you can set the "Disk to
  927. Restore From" letter to "B", the "File
  928. to Restore From" number to 32, then go
  929. back to Kaleidoscope proper, and hit
  930. "r" ten times (at reasonable
  931. intervals, of course, to give your
  932. viewers time to be awed).
  933.  
  934. Note that "r" does not always restore
  935. all the information about a pattern;
  936. sometimes (as with "l") the colors and
  937. things are different, for variety's
  938. sake.
  939.  
  940. This screen (because it had lots of
  941. blank space) is also used to record
  942. error events.  When something that
  943. BASIC thinks of as an error occurs,
  944. Kaleidoscope alerts you with a
  945. friendly little three-tone sound, and
  946. records the error's Magic Error Number
  947. and Location on this screen.  To find
  948. out the nature of your error, go to
  949. this screen, and look up the error
  950. code in the back of your BASIC manual.
  951. You will undoubtedly discover that it
  952. was your fault.
  953.  
  954.  
  955.                   18
  956.  
  957. The PRO File - Start-up Settings~
  958. -------------------------------
  959.  
  960. The default values for the more global
  961. Kaleidoscope parameters, like initial
  962. background color, number of palettes,
  963. fluidities, and other things that
  964. don't (usually) change with a new
  965. pattern, may not be what everyone
  966. wants.  It is common for a user to
  967. develop the habit of hitting 'b' seven
  968. times, 'a' once, then 't', a bunch of
  969. cursor controls, enter, a number,
  970. enter again...  and so on for several
  971. dozen keystrokes; all for the sake of
  972. getting the environment the way it
  973. ought to have been in the first place.
  974. This sort of user has not read this
  975. section.
  976.  
  977. * A sample KALSCOPE.PRO file
  978.  
  979. * Don't hold logo screen, and load in
  980.   my favorite
  981. *   PRM file on start-up.
  982. % r
  983. * Set the parameters
  984. 8 should be the boredom threshold
  985. 0.05 should be the boredom rho
  986. 0.001 should be the palette fluidity
  987. 0 should be the background fluidity
  988. 3 is the number of palettes
  989. 8 is the initial background color
  990. 2 is the initial palette (special RGB
  991.   palette)
  992. 1 is the initial autorun setting
  993. 0 (off) is the initial setting of
  994.   single-color mode
  995. 1 (on) is the eightfold bug
  996. 0 (off) is the start-up bug
  997. 0 (off) is the erasing bug
  998. C is the disk to restore from
  999. 0 is the initial file number to
  1000.   restore from
  1001. A is the disk to save PIC files to
  1002. 12 is the initial number for PIC files
  1003. A is the disk to save PRM files to
  1004. 27 is the initial number for PRM files
  1005. * and that's all.
  1006.  
  1007.  
  1008.                   19
  1009.  
  1010. When it is first invoked, Kaleidoscope
  1011. looks for a file called "KALSCOPE.PRO"
  1012. in the current default directory.  If
  1013. the file is not found, all default
  1014. values for everything in general are
  1015. taken, and the pleasant little error
  1016. bleep sounds to let the user know.  If
  1017. the file is found, certain parameter
  1018. values are taken from it, and some
  1019. initial commands can be executed by
  1020. it.
  1021.  
  1022. The lines in the PRO file are
  1023. interpreted as follows:
  1024.  
  1025. All lines which are completely blank,
  1026. or which have a squashed-bug character
  1027. ("*") in column one, are completely
  1028. ignored.
  1029.  
  1030. All lines that have an interest-mark
  1031. character ("%") in column one are
  1032. treated specially.  The rest of the
  1033. characters in the line are put into a
  1034. FIFO queue.  Yes, this is in fact
  1035. redundant, as all queues are FIFO, but
  1036. as a CMS user I have seen enough
  1037. references to "FIFO stacks" that I
  1038. tend to play it safe.  When
  1039. Kaleidoscope begins to execute,
  1040. characters are taken from this queue,
  1041. and treated just as if they had been
  1042. entered as single-key commands from
  1043. the keyboard.  The only really useful
  1044. use for this is to specify (by
  1045. including an "r" in the queue) that an
  1046. initial PRM file should be loaded on
  1047. start-up.  If the first character
  1048. after the interest-mark is a blank,
  1049. the logo screen will be displayed for
  1050. about a second, then disappear,
  1051. without waiting for the usual
  1052. keystroke.
  1053.  
  1054. Any lines not covered by the points
  1055. above are interpreted as value lines.
  1056. The initial characters in each of
  1057. these lines are treated as numeric
  1058. values (skipping leading blanks),
  1059. except for the lines about disk
  1060. letters, where the first character are
  1061. used.  The values obtained from the
  1062. lines are assigned to the accessible
  1063. parameters.
  1064.  
  1065.  
  1066.                   20
  1067.  
  1068. Which parameters are accessible, and
  1069. what order they are assigned in,
  1070. should be inferred by the observant
  1071. user from the sample profile given.
  1072.  
  1073. If fewer than 18 value lines are in
  1074. the file, defaults are used for the
  1075. remainder.  Note, however, that if you
  1076. wish to change the default for some
  1077. parameter, you must specify values for
  1078. all parameters coming before the one
  1079. you want to change (nyeh-he-he).  For
  1080. instance, to specify a non-default
  1081. initial value for the autorun setting,
  1082. you must give values for the first
  1083. seven parameters as well.
  1084.  
  1085. Note:  The use of ringlore and other
  1086. middle-earth poetry in PRO files is
  1087. not recommended.
  1088.  
  1089.  
  1090. KALSHOW - Displaying PIC Files~
  1091. ------------------------------
  1092.  
  1093. KALSHOW is an ancillary program that
  1094. may be used while in DOS to copy a PIC
  1095. file (saved with the "w" command in
  1096. Kaleidoscope) onto your color screen.
  1097. The pattern is displayed just as you
  1098. saved it, and you are given a chance
  1099. to change the background color and
  1100. active palette (which are not saved in
  1101. the PIC file).
  1102.  
  1103. Note that Kaleidoscope itself has no
  1104. provision for reading PIC files.  If
  1105. you want to save a pattern for later
  1106. use in Kaleidoscope, use "s" to create
  1107. a PRM file.  "w" should be used to
  1108. save particularly striking screen
  1109. images, for later use by KALSHOW or
  1110. other programs that like BSave format.
  1111.  
  1112. To use KALSHOW, type KALSHOW, and
  1113. respond to the prompt with the full
  1114. drive specifier, name and type of the
  1115. PIC file (for example, "C:P54.PIC").
  1116. The image is loaded, and you may then
  1117. use the "b" and "p" keys to change the
  1118. active colors.  When you are done, use
  1119. the "e" key to exit.  You will then be
  1120. prompted for another PIC file to
  1121. display.  If you don't want to display
  1122. any more, just press Enter.  When
  1123. KALSHOW completes, it returns to DOS,
  1124. so one effective use of KALSHOW is on
  1125. a two-display PC, with the monochrome
  1126. monitor (MODE MO) active.
  1127.  
  1128.